package IC.TypeTable;

import IC.SymbolTable.SemanticError;
import IC.TypeTable.TypeEnum;

public abstract class Type {
	private String name;
	private int typeNumber; 
	
	//private TypeEnum typeKind;
	
	
	public Type(String name){
		this.name = name;
		TypeTable.typeCounter++;
		this.typeNumber = TypeTable.typeCounter;
	}	

	public String getName(){
		return this.name;
	}
	public int getTypeNumber(){
		return this.typeNumber;
	}
		
	public abstract boolean isSubTypeOf(Type t);

	public String toString(){
		return this.name;
	}

}
